Haptic output systems

ABSTRACT

The application describes systems for deriving haptic and audio drive signals from an input signal received via a single channel such as an audio channel.

FIELD OF THE INVENTION

The present disclosure relates to the field of haptic output systems. In particular, the present disclosure relates to a system for deriving a haptic drive signal for driving a haptic actuator.

BACKGROUND

Modern computing devices such as smartphones, tablet computers, smart watches and the like are increasingly being provided with haptic output systems in addition to conventional video and audio output systems such as screens and speakers. Such haptic output systems provide mechanical stimulation or mechanical outputs that can be felt by a user of the device. These haptic outputs may be used, for example, to simulate the feeling of a mechanical button being depressed or clicked.

Additionally, virtual reality (VR) and augmented reality (AR) devices may employ haptic output systems as well as video and audio output systems, to produce a multi-sensory user experience that may be more immersive and realistic, and therefore richer, than in systems which provide only audio and visual outputs.

The haptic output can be achieved by driving an actuator with a pulse signal having a predetermined waveform. The resulting vibration of the actuator is conducted to the body of the device in order to induce the sensation of mechanical movement. The driving signal is a carefully designed waveform or pulse that may be generated by a haptic amplifier e.g. a high voltage amplifier in order to drive the haptic actuator.

There are a number of problems associated with previously proposed systems for generating haptic drive signals. For example, synchronization or a specified time relationship between the audio and haptic playback can be disrupted due to the way in which the audio and haptic information is derived and communicated to the haptic output transducer.

The techniques described herein generally seek to improve on the previously proposed system and/or seek to mitigate the problems associated with previously proposed systems.

SUMMARY

According to an example of a first aspect there is provided a drive circuit comprising: an input configured to receive an input signal representing audio information and haptic information;

an audio output amplifier configured to generate an audio drive signal based on the audio information represented in the input signal; and

a haptic output amplifier configured to generate a haptic drive signal based on the haptic information represented in the input signal.

The input signal may comprise audio information representing an audio output signal to be output by the audio output transducer and haptic information representing a haptic output signal to be output by a haptic output transducer.

The drive circuit may further comprise a haptic recovery portion for recovering the haptic information from the input signal and/or an audio recovery portion for recovering the audio information from the input signal. The haptic recovery portion may be configured to derive the haptic information from a designated portion of the input signal. The designated portion may comprise at least one carrier frequency of the input signal. The haptic recovery portion may be configured to perform a demodulation process, such as an FM demodulation process, in order to derive the haptic information. The designated portion may be spread across a plurality of different carrier frequencies of the channel. Thus, the recovery portion may be configured to perform a spread spectrum demodulation process to derive the haptic information.

According to one or more example the input signal is carried by a single channel. The channel may be, for example, an audio channel. The designated portion may comprise one or more carrier frequencies of the channel above 16 kHz. The channel is provided, for example, by an electrical serial bus interface.

According to one or more example the drive circuit further comprises a first filter configured to receive the input signal, to filter audio information comprised in the input signal and to output a filtered signal to the haptic output amplifier. According to one or more example the drive circuit may comprise a second filter configured to receive the input signal, to filter haptic information comprised in the input signal and to output a filtered signal to the audio output amplifier.

The haptic information may be considered to represent a magnitude and/or a direction of a haptic signal to be output by a haptic output transducer. The haptic information may define a pulse signal or waveform for driving a haptic output transducer.

According to one or more example the drive circuit comprises a transformation unit, wherein transformation unit is configured to receive a haptic drive signal representing the haptic information derived by the haptic amplifier and to modify the haptic drive signal based on one or more characterisation parameters in order to generate a modified haptic drive signal. The characterisation parameters may be considered to represent data relating to one or more of: a mounting position of a haptic output transducer, one or more characteristics of the haptic actuator and one or more characteristics of a host device.

The input signal may be considered to be a first input signal and the drive circuit may be configured to receive first and second input signals. In this case, haptic information may be carried on a portion of either or both of the first and second input signals. Furthermore, the first and/or second input signal may represent system- or application-related metadata.

According to one or more examples the drive circuit may further comprise a synchronisation module, the synchronisation module arranged to synchronise the output of the audio drive signal and the haptic drive signal.

According to an example of a second aspect there is provided a signal processor, the signal processor being configured to output a mixed signal via a single channel, the mixed signal comprising i) an audio signal to be output by an audio output transducer and ii) a haptic signal to be output by a haptic output transducer.

Thus, the signal processor may be configured to encode audio information onto the channel. The signal processor may be configured to filter audio information at one or more designated carrier frequencies of the channel. The signal processor may be configured to encode haptic information onto one or more designated carrier frequencies of the channel.

The signal processor may be configured to select said mixed signal from one or more candidate mixed signals stored in a memory. Alternatively or additionally the signal processor may be configured to generate said mixed signal during a process of running an application on the signal processor or on a processor which interfaces with the signal processor.

According to one or more examples of the second aspect the signal processor may be configured to encode synchronisation information onto the channel, preferably at least an audio sync marker to indicate the point in an audio signal that playback of a haptic output should commence, and/or a haptic sync marker to indicate the start of a haptic waveform to be output as a haptic drive signal.

According to an example of a third aspect there is provided a system comprising a drive circuit according to an example of the first aspect and a signal processor according to an example of the second aspect.

According to an example of a fourth aspect there is provided a system comprising a drive circuit according to an example of the first aspect and further comprising: at least one haptic output transducer, wherein the haptic amplifier is configured to generate a haptic drive signal representing the haptic information contained in the input signal and to output the haptic drive signal to one or more of the haptic output transducers.

The system may further comprise at least one audio output transducer, wherein the audio amplifier is configured to generate an audio drive signal representing the audio information contained in the input signal and to output the haptic drive signal to one or more of the haptic output transducers.

According to an example of any of the above aspects the drive circuit may be configured to receive first and second input signals. Such an example may be particularly applicable to a stereo implementation forming a part of a system comprising first and second audio output transducers. In this case, the haptic information may be carried on a portion of either or both of the first and second input signals. Thus, the system may comprise first and second audio output transducers and wherein the first input signal comprises audio information representing an audio output to be output by the first audio transducer and the second input signal comprises audio information representing an audio output to be output by the second audio transducer.

According to an example of a fifth aspect there is provided a drive module for providing a haptic drive signal to a haptic output transducer, the drive module comprising:

a haptic recovery portion configured to receive an input signal via a single channel interface between the drive module and a signal processor, wherein the haptic recovery portion is configured to derive haptic information from a designated portion of the input signal.

BRIEF DESCRIPTION OF DRAWINGS

For a better understanding of the present invention and to show how the same may be carried into effect, reference will now be made by way of example to the accompanying drawings in which:

FIGS. 1a and 1b are block diagrams of a system architecture of a system for providing audio and haptic outputs;

FIG. 2 is a block diagram of a system architecture for providing audio and haptic outputs according to a present example;

FIGS. 3a, 3b and 3c illustrate examples of channel modulation schemes for carrying a mixed input signal;

FIG. 4 is a block diagram of a system architecture for providing audio and haptic outputs according to a present example; and

FIG. 5 is a block diagram of a drive circuit according to a further example.

DETAILED DESCRIPTION

The description below sets forth examples according to the present disclosure. Further example embodiments and implementations will be apparent to those having ordinary skill in the art. Further, those having ordinary skill in the art will recognize that various equivalent techniques may be applied in lieu of, or in conjunction with, the examples discussed below, and all such equivalents should be deemed as being encompassed by the present disclosure.

The techniques described herein can be implemented in a wide range of devices and systems.

FIG. 1a is a block diagram of a system architecture of a system for providing audio and haptic outputs. The system forms part of a device having an audio output transducer 102 and a haptic output transducer 104. The device may be a mobile telephone, tablet or laptop computer, smart watch, virtual reality (VR) or augmented reality (AR) device, for example.

The device includes a signal processor 108 which may be, for example a digital signal processor (DSP). The signal processor may form a part of, or may interface, with an applications processor AP (not shown) which runs an operating environment of the device 100 to allow software applications such as games to be executed by the device. The signal processor 108 is connected via a first signal path 30 with an audio output amplifier 110. The first signal path may be, for example, an electrical serial bus interface such as I²S or SPI. The audio output amplifier 110 is configured to output an audio drive signal to the audio output transducer 102 in order to cause the audio output transducer to generate an audio effect. The signal processor 108 is also connected via a second signal path 32 with a haptic output amplifier 112. The haptic amplifier 112 is configured to output a haptic output drive signal to drive the haptic output transducer 104.

An application processor typically receives user inputs. The user inputs may include one or more of: touch and/or gestural user inputs that can be detected by a touch-sensitive surface (e.g. a touch screen) of the device (not shown); kinetic user inputs such as rotating or tilting the device that can be detected by a sensor such as an accelerometer or gyroscope of the device (also not shown); and audio user inputs such as spoken commands that can be detected by a sensor such as a microphone of the device (also not shown). In response to detection of a user input the application is operative to generate appropriate outputs at the device. For example, the application may be operative to cause images displayed on a display of the device (not shown) to be updated, and to cause appropriate audio effects to be output by the audio output transducer 102. The application may also be operative to cause appropriate haptic outputs to be provided by the haptic output transducer 104 in response to detection of user inputs.

For example, in a driving game application, the user may interact with a touch screen of the device 100, e.g. by touching a graphical representation of an accelerator pedal or a brake pedal presented on a touch screen of the device in order to accelerate or brake a vehicle within the game. Such touches are detected by the touch screen and result in the images displayed on the display of the device being updated by the application to give a visual indication that the vehicle is accelerating or braking. The updates to the images displayed on the display may be accompanied by appropriate audio effects being output by the output audio transducer 102, such as an engine revving effect when the accelerator pedal is touched, or a tyre screech effect when the brake pedal is touched.

In order to steer the vehicle the user may rotate the device in a clockwise direction to turn left or an anticlockwise direction to turn right. In response to detection of such kinetic inputs by the accelerometer and/or gyroscope of the device, the images displayed on the display are updated as appropriate by the application to give a visual indication of the movement of the vehicle. In addition, appropriate audio effects such as a tyre screech effect may be output by the output audio transducer 102.

Audio user input such as voice commands may additionally be used, for example to perform special functions such as firing a weapon. On detection of a valid voice command or other audio user input, the images displayed on the display may be updated as appropriate to give a visual indication of the effect of the command, and appropriate audio effects such as a gunshot effect may be output by the output audio transducer 102.

The application may also be configured to make use of the haptic output transducer 104 to provide additional sensory information to the user. For example, in the driving game application example discussed above, in addition to updating the images displayed on the display and outputting appropriate audio effects, the device may also provide haptic outputs in response to the user inputs. For example, the haptic output transducer 104 may be actuated to cause the device to vibrate at the same time as the images displayed on the display are updated and the audio effect is output by the output audio transducer 102, thereby providing additional sensory information to the user.

Applications such as games that run on devices that include haptic output systems have to be designed and programmed specifically to take advantage of the haptic capabilities of the device. The relationship between the audio playback and the haptic playback is situation specific. For example, in some cases it may be desirable to synchronise the audio effect with the playback of the haptic waveform. For example, in the example of a car racing game, the event of a car crashing into a barrier may generate both a haptic output at substantially the same time as an audio output. In other cases the playback of acoustic sound and a haptic effect are not coincident or they may be delayed by a fixed amount of time. For example, firing a slingshot or catapult may induce a force a certain amount of time before the main acoustic event is heard.

A number of solutions have been proposed for storing and communicating haptic information within a device which provides audio and haptic outputs.

According to a previously proposed system for example as illustrated in FIG. 1a , haptic information—e.g. one or more haptic waveforms—is stored locally in a memory 20 of the haptic amplifier. Thus, a trigger or command signal is sent e.g. from the signal processor to the haptic amplifier in order to cause the haptic amplifier to select haptic information and to generate a haptic drive signal for causing the intended haptic effect. However, according to this arrangement, only a limited number of waveforms may be stored on the haptic amplifier and, furthermore, waveform playback may be difficult to synchronise with the audio effects.

According to another example of a previously proposed system as illustrated in FIG. 1b , haptic content is stored in a memory 20 associated with the signal processor (or with the applications processor). Alternatively, the haptic content may be derived at the signal processor in real time. In either case, haptic information must be sent from the signal processor to the haptic amplifier. This will typically require modification to the existing operating system in order to support a secondary interface between the signal processor and the haptic amplifier for the transmission of haptic content. Thus, the second signal path 32 will comprise a second electrical serial bus interface such as I²S or SPI. It will be appreciated that modifications to an operating system can take a long time to standardize and this may delay or deter the uptake of such a system for providing haptic sensory output.

FIG. 2 is a block diagram of a system architecture 100 for providing audio and haptic outputs according to a present example. The system comprises a drive circuit or drive module 200 according to an example of the first aspect. The system may form part of a device having an audio output transducer 102 and a haptic output transducer 104. The device may be a mobile telephone, tablet or laptop computer, smart watch, virtual reality (VR) or augmented reality (AR) device, for example. Alternatively, the system may be implemented by multiple devices.

The system 100 includes a signal processor 108 which may be, for example a digital signal processor (DSP). The signal processor may form a part of, or may interface, with an applications processor AP (not shown) which runs an operating environment of a user device to allow software applications such as games to be executed by the user device. The signal processor 108 is connected to the drive circuit 200 via a signal path 300. The signal path 300 may be provided by, for example, an electrical serial bus interface such as I²S or SPI.

The drive circuit 200 receives an input signal x via the signal path 300. The input signal x is fed to an audio amplifier 210. The audio amplifier 210 is configured to generate an audio drive signal a_(d) based on the audio data contained in the input signal. In this example the audio amplifier is configured to receive the input signal and to derive the audio data from the input signal. Thus, the audio amplifier can be considered to comprise an audio data recovery portion R_(a) for recovering the audio data from the input signal. The audio drive signal generated by the audio amplifier is output to the audio output transducer 102 in order to cause the audio output transducer to generate an audio effect. The input signal x is also fed to a haptics amplifier 220. The haptics amplifier 220 is configured to generate a haptic drive signal h_(d). In this example the haptics amplifier 220 is configured to receive the input signal x and to derive the haptic information from the input signal x. Thus the haptics amplifier can be considered to comprise a haptic data recovery portion R_(H) for recovering e.g. decoding the haptic data from the input signal. The haptic information defines at least one haptic effect to be output by the haptic actuator. For example, the haptic information may define a pulse signal or waveform. The haptic drive signal is output to the haptic output transducer 104 in order to drive the haptic output transducer and thus generate a haptic effect.

It will be appreciated that in one or more other examples the process of deriving the audio and/or haptic information from the input signal may be at least partially performed by a unit or portion that is implemented separately from the respective amplifier. For example, one or more examples may comprise a filer which is provided in advance of one or both of the amplifiers and is configured to filter or exclude the signal representing the type of data (haptic or audio) not required by the subsequent amplifier (audio or haptic). Thus, the audio amplifier and/or the haptic amplifier may be configured to receive a filtered input signal from which it is possible to derive or decode the relevant audio or haptic information. According to one or more examples a recovery portion R may be provided in advance of one or both of the amplifiers and is configured to recover or decode the data that is required by the subsequent amplifier. Such a recovery portion which may be configured to decode the required data from the input signal (e.g. a designated portion of the input signal or channel) may be provided separately or in conjunction with a filter for excluding certain portions of the channel.

In a further aspect, the system may be configured to perform a synchronisation of the audio and haptics signals to be output by the transducers. For example, the performance or responsiveness of the audio output transducer and/or the haptics output transducer may vary over the lifetime of the device. In addition, the action of recovering the haptics information or the audio information from the data channel 300 may result in the introduction of a delay or latency into the system between the haptics and audio paths.

This may be addressed by performing a synchronisation step, wherein the audio amplifier 210 and/or the haptics amplifier 220 are configured to adjust the output audio and haptic output signals to ensure synchronous output.

In one aspect, the operation of the audio and haptics transducers may be continuously monitored, e.g. using current/voltage monitoring, to determine any transducer-related latency which needs to be accounted for in the output of the haptics and audio signals.

Additionally or alternatively, the system may monitor the steps of decoding or recovering the haptics and/or audio information, to account for any variations in the recovery and output paths to the audio output transducer 102 and the haptics output transducer 104. This may be facilitated by the embedding of a synchronisation marker in the haptics and/or audio information, to allow for the haptics output to be synchronised with the audio output.

Such synchronisation will ensure that the haptics output will be time-aligned with the corresponding audio output, to provide for the best user experience. For example, in the context of a video game application where an action such as a gunshot is triggered, the haptics output for the gunshot is synchronised with the audio output of the gunshot. It will be understood that such a synchronisation process may be performed by a synchronisation module. Such a synchronisation module may be provided as a separate processing module, or may be provided in the audio amplifier 210 and/or the haptics amplifier 220, for example as part of the respective recovery portions R_(a), R_(H).

The following is an example of a system which can be used to compensate for any delays or latency experienced in system operation, e.g. because (a) the recovery process for the haptic signal takes longer than that of the recovery for the audio signal and is variable (for example due to the use of additional filter or demodulation stages); and/or (b) the time to send the haptic signal is slower than real time (for example if the haptic signal takes 1.5× the time of the audio signal e.g. due to bandwidth limitations).

If a delay is to be expected then the following system could be used:

-   -   1. The haptic waveform can be encoded with the audio in such a         manner that it will be decoded before the corresponding point of         audio (this may be for example as part of a dynamic look-ahead         haptics system).     -   2. In addition to the haptic and audio signal streams,         synchronization markers may be added to the data transmitted.         Such synchronisation markers may be provided as metadata encoded         within the haptic and audio streams, or may be provided as part         of an additional side channel transmitted in parallel to the         haptic and audio data. For example:         -   a. An audio sync marker may be added to the audio stream to             indicate that the playback of the incoming haptic waveform             should commence, and/or         -   b. A haptic sync marker may be added to the haptic stream to             indicate the start of the haptic waveform to be output.     -   3. In a preferred aspect, the haptic sync marker for the haptic         waveform will be received first, so that the haptic waveform is         buffered on the haptic amplifier. Haptic playback can then         commence when the corresponding audio sync marker is detected in         the audio stream.     -   4. In the case that the audio sync marker is first detected on         the audio stream then at least one of the following may be         performed:         -   a. The haptic output can be played as soon as it is detected             (i.e. the haptic event may be delayed relative to the             audio), or         -   b. The audio playback rate can be adjusted to ensure             synchronization.

Further details of any such synchronisation system may be found in U.S. patent application Ser. No. 15/875,512, the contents of which are incorporated by reference herein.

The audio output transducer may comprise a speaker. The haptic output transducer can be considered to be a device that generates a vibration in response to a received haptic signal. The actuator may be, for example, an Eccentric Rotating Mass (ERM) actuator, a Linear Resonant Actuator (LRA), or a piezoelectric actuator.

According to the present example the input signal x received by the drive circuit comprises a mixed signal comprising i) an audio signal representing audio to be output by the audio output transducer and ii) a haptic signal representing a haptic output to be output by a haptic output transducer. The mixed input signal is preferably received via a channel for carrying audio data. Thus, the channel may be an audio channel. The audio channel may be considered to comprise a data signal which is primarily used for the transmission of audio data. According to one or more examples a system may be provided with a single audio channel, e.g. for monaural audio systems, or with multiple audio channels, e.g. separate left and right channels for stereo audio systems. It will be understood that the signal path 300 may be configured to transmit a plurality of different audio channels.

According to the present example audio data and haptic data is sent on the same channel from the signal processor to the driver circuit. Thus, since existing operating systems already support an audio signal interface between the signal processor and the audio amplifier, there is no need to provide an additional signal interface for the transmission of haptic information.

According to one or more of the present examples the transmission of haptic information from the signal processor to the haptic amplifier is achieved by encoding the haptic information into a designated portion of the same channel that is used to carry audio data. It will be appreciated that there are various ways in which the haptic information may be encoded or modulated onto the channel. According to one example, the haptic information is frequency modulated onto a predetermined frequency carrier (e.g. 21 kHz) or band of frequency carriers.

FIGS. 3a, 3b and 3c illustrate examples of channel modulation schemes for carrying a mixed input signal

FIG. 3a illustrates an example of a channel S, for example an audio channel, carrying a mixed input signal x. In this particular example the audio channel comprises a frequency band of 20 Hz to 24 kHz. The mixed input signal x comprises an audio signal and a haptic signal. The audio signal comprises audio information and the haptic signal comprises haptic information. As illustrated in FIG. 3a the haptic signal is carried by, or encoded onto, a designated portion H of the audio channel. The designated portion H of the channel comprises a single discrete carrier frequency or band of carrier frequencies of the channel. In this particular example the discrete portion of the channel comprises one or more carrier frequencies in the frequency band between 20 kHz and 24 kHz.

It will be appreciated that humans can hear a frequency range of between 20 Hz and around 20 kHz. Moreover, a speaker will typically have an effective upper frequency limit of 20 kHz. Thus, according to the present example wherein the frequency range of the audio channel extends above 20 kHz, it is advantageous to utilise the upper part of the channel—in particular the portion above 20 kHz—to carry haptic information.

According to one or more examples it will be understood that the upper portion of the channel may be considered to comprise frequencies above a given frequency threshold or boundary. For example, an upper portion of the channel may be defined as comprising frequencies above, e.g. 16 kHz.

FIG. 3b illustrates an example of an audio channel S carrying a mixed input signal x. In this example the portion H of the channel designated to carry haptic information comprises one or more carrier frequencies in a frequency band that is between 20 Hz and 20 kHz.

FIG. 3c illustrates a further example of an audio channel S carrying a mixed input signal x. In this example the haptics signal is spread across a plurality of different frequency bands of the audio channel. It will be understood by the skilled person that this may be achieved using known spread spectrum coding techniques.

It will be appreciated that one or more of the present examples may be applicable to the case of a stereo audio system comprising first and second audio transducers (speakers). For example a system for providing audio and haptic outputs may comprise a device, such as a mobile phone or gaming device, for running an application and providing a user interface. The device may be connected to a stereo headset comprising a pair of speakers. Thus, according to one or more examples, the system may comprise multiple audio channels.

Thus, first and second input signals may be received by the drive circuit via a first and second stereo channel respectively. According to at least one example, each input signal comprises both audio content and haptic content. According to one example the haptic information may be divided between the first and second stereo channels. For example, the haptic information may comprise both the magnitude of the vibration and the direction of the vibration (e.g. the intended vibration may be in the same plane as the screen or may be orthogonal to the screen). Thus, it is envisaged that the magnitude of the vibration may be encoded into the first stereo channel whilst the direction of the vibration may be encoded into the second stereo channel. Alternatively, the magnitude and direction of the haptic waveform may be encoded onto a single stereo channel leaving the other stereo channel free for other potential uses. For example, haptic data may be transmitted using a first stereo channel along with audio data for that channel, while the second stereo channel may be used for the transmission of application-related metadata along with audio data for the second channel. In a further example, a first stereo channel may be used for the block transmission of haptic waveforms or atoms for the construction of haptic waveform libraries within the haptics amplifier, to be triggered from specific events or cues within an application, wherein the second stereo channel may be provided with haptics data which can define magnitude, direction, etc. of the selected waveform from the library.

According to at least one example, the haptics amplifier is configured to receive a mixed input signal, wherein the mixed input signal represents both audio data and haptic data. Thus, the haptics amplifier is configured to extract the haptic data or information from the input signal by a process of decoding. Thus, the haptics amplifier is configured to extract and generate the haptic waveform from a designated portion of the input signal, wherein the location of the designated portion will typically be pre-known at the amplifier or may be signalled. The content of the designated portion of the input portion is extracted by decoding the signal to a baseband signal, wherein the baseband signal may be output as a drive signal to the haptics transducer. The step of decoding may comprise demodulation such as an FM demodulation of the designated portion of the input signal.

According to one or more examples, and as illustrated in FIG. 5, the mixed input signal x_(a+h) may be filtered in order to remove the audio data or the haptic data. For example, the drive circuit 200 may comprise a first filter 240 which is provided prior to the audio amplifier 210 and is configured to remove haptic data contained in the input signal. Thus, the haptic data filter outputs a signal x_(a) that represents just audio data which is sent to the audio amplifier. In this example the audio amplifier recovers the audio data although it will be appreciated that the recovery or decoding of audio data may take place in a portion which provides the first filter 240 or in a portion provided between the filter and the audio amplifier. Additionally or alternatively, the drive circuit may comprise a second filter 250, which is provided prior to a haptic amplifier portion 260 and is configured to remove audio data contained in the input signal. Thus, the second filter 250 is configured to generate a signal x_(h) that represents just the haptics information, which is sent to the haptic amplifier portion. As illustrated in FIG. 5, the haptics filter 250 is implemented within a haptic amplifier module 220. However, it is envisaged that the haptics filter may be implemented as a separate module provided in advance of the haptic amplifier module. The first and/or second filter may comprise a low-pass filter or a brick-wall filter which is configured to filter one or more frequencies or frequency bands of the channel.

According to one or more examples, the signal processor is configured to derive a mixed signal comprising i) an audio signal representing audio to be output by the audio output transducer and ii) a haptic signal representing a haptic output to be output by a haptic output transducer. There are a number of ways in which the mixed signal may be derived. For example, the mixed signal may be pre-mixed into pre-recorded audio waveforms by the manager or programmer of the application and then stored in a memory of the signal processor. Alternatively, the haptic information/waveforms may be mixed in real time with gaming audio. According to one or more examples the process of deriving the mixed signal comprises filtering (e.g. brick wall filtering) the audio content at one or more frequencies in order to keep the carrier frequencies of the transmission channel available for haptic content. For example, the audio signal may be filtered to remove audio data from a designated portion, e.g. an upper portion of the channel. This can be considered to “clear the way” for haptics data to be encoded into the filtered portion. This beneficially ensures that the encoding of haptics data can take place without interference from pre-existing audio.

The mixed input signal is sent from the signal processor 108 to the drive circuit 200 via a channel, such as a channel for carrying audio data. The channel may be implemented by an electrical serial bus interface such as I²S or SPI.

Thus, according to at least one example of a system for providing haptic and audio events, the haptic information is encoded at the signal processor side onto a designated portion of a channel which forms an interface between the signal processor and the drive circuit (comprising a haptic and an audio amplifier). The haptic amplifier is configured to receive an input signal and to decode or demodulate the haptic information from the designated portion of the received input signal. In cases where the designated portion of the audio channel is spread across multiple frequencies or frequency bands of the audio channel, the haptic amplifier is configured to spread spectrum decode the input signal in order to derive the haptic information.

In a further aspect, for a system wherein the audio signal is provided as a digital signal across a plurality of digital bits, the haptic information may be encoded in a portion of the bits of the digital signal, for example in the least significant bits of the digital signal.

For example, in systems using I2S communication, many systems use 24-bit encoding, however the audio signal may only require a sub-portion of the total bit width available, e.g. an audio signal may be only 16 bits resolution, while the haptic signal requires low dynamic range. In systems where the digital representation of the signal is not altered (e.g. a lossless connection from the AP), then the lowest bits of the digital signal could be used to store the haptic signal.

The equivalent to filtering in the audio amplifier would therefore be to simply disregard the lowest or least significant X bits of the data channel. The equivalent to filtering in the haptic amplifier would therefore be to simply disregard the highest or most significant Y bits of the data channel. (Where X+Y≤the total bits available in the data channel.)

Since the haptic signal has low bandwidth, the data for each haptic sample could be spread across more than one audio samples, so that the number of bits used to encode the haptic signal per audio sample is minimized, i.e. since the effect bandwidth of haptic signal is <1 kHz the lowest significant bit would be sufficient.

The advantage of this approach is that it is computationally simpler at both the AP and the haptic/audio amplifier, relative to other schemes such as frequency modulation.

FIG. 4 is a block diagram of a system architecture of a system for providing audio and haptic outputs according to a present example. The system is similar to the system shown in FIG. 2 and comprises a drive circuit 200 according to a second example of the first aspect.

The drive circuit 200 receives an input signal x via the signal path 300. The input signal x is fed to an audio amplifier 210. The audio amplifier 210 is configured to derive audio data from the input signal and to generate an audio drive signal a_(d). The audio drive signal is output to the audio output transducer 102 in order to cause the audio output transducer to generate an audio effect. The input signal x is also fed to a haptics amplifier 220. The haptics amplifier 220 is configured to derive haptic information from the input signal x. The drive circuit further comprises a transformation unit 225 having a transfer function which is derived from one or more characterisation parameters. The characterisation parameters may be derived from device-specific data, such as data relating to the mounting position of the haptic actuator and/or the characteristics of the haptic actuator and/or the characteristics of the host device. The haptic waveform h_(d) derived by the haptics amplifier is passed through the transformation unit which transforms or modifies the waveform according to a transfer function of the transformation unit in order to produce a device specific waveform h_(d′). The device specific waveform h_(d′) forms the drive signal of the haptic actuator 104.

It will be appreciated that each haptic actuator can have different haptic characteristics and, further, that the characteristics of the vibration may depend on the mounting position and on the characteristics of the device itself. The provision of a transformation unit 225 beneficially allows the characteristics of the device and of the haptic actuator to be taken into account when deriving the final haptic drive signal. Furthermore, it will be appreciated that the haptic amplifier may be provided with a protection circuit or algorithm which is operable to mitigate over heat or mechanical damage to the actuator. The transformation unit may be configured to modify the haptic content that is derived from the input signal for conformity with the protection circuit and/or such that any physical thresholds e.g. temperature and excursion—are not exceeded.

According to one or more examples the haptics amplifier may be configured to monitor one or more of the voltage, current, position or any other suitable status indicator of the haptics actuator, and to take such monitored data into account when deriving the final haptic drive signal, to ensure that the haptic drive signal can be dynamically tailored for operation of the actuator.

Thus, according to one or more of the present examples, the haptic content may be generated or selected at the signal processor without any knowledge of the implementation characteristics of the intended haptic event at the signal processor side, whilst still enabling the implementation characteristics to be reflected in the haptic drive signal.

It will be understood that the haptics data to be encoded into the audio channel may be provided in a generic format, which is not specific to any particular haptic transducer. For example, according to one or more examples the haptics data may be provided as a measure of the force level required for the haptic output, e.g. defining the desired force level for the haptics output, such as a level of micro-G of force required or defining the likely acceleration. This beneficially allows a system for providing haptic and audio output to be designed in from the start, and utilised for any application such as gaming software which is desired to be used across a wide variety of output devices. Accordingly, the appropriate transformation or compensation of the generic haptics data can be performed by the haptics amplifier provided in the specific device, having detailed knowledge of the type and configuration of haptics actuator used in the device itself.

According to the present examples the haptic information defines at least one haptic effect to be output by the haptic actuator. For example, the haptic information may define a pulse signal or waveform. The haptic drive signal is output to the haptic output transducer (actuator) in order to drive the haptic output transducer and thus generate a haptic effect.

According to at least one example, the audio output transducer may comprise a speaker. The speaker may be implemented in a device such as a mobile phone or may form part of a stereo audio system and provided in an earbud or headphone set.

While the invention is described above as having a signal path 300 in the form of an electrical serial bus interface such as I²S or SPI, it will be understood that alternative bus systems may also be used, e.g. Slimbus® or Soundwire®. In addition, it will be understood that at least a portion of the signal path 300 may be provided as a wireless data link, e.g. using BlueTooth® or any other suitable wireless data protocol.

It will be appreciated that various elements, units, modules or circuits of a system for providing audio and haptic output according to a present example may be implemented in a single device or may be implemented by a plurality of separate devices. Thus, it will be appreciated that any data link for transferring data between elements (which may be considered to be e.g. the signal processor, the haptic/audio amplifier and the haptic/audio output transducer) of a given example may be provided by a wired or a wireless data link. For example, according to one particular example, a signal processor (which may be associated with a gaming engine) is provided in a separate device to a drive circuit or drive engine comprising an audio output amplifier and a haptic output amplifier. Thus, the input of the drive circuit may comprise a wireless input for receiving data via a wireless data link from the signal processor. It is also envisaged that the audio and/or haptic output transducer may be provided in a separate device to the drive circuit for deriving audio/haptic information and for generating a respective audio/haptic drive signal. Thus, the audio/haptic drive signal(s) may be sent from the drive circuit or module to the respective output transducer via a wired or wireless data connection.

It will be understood that the audio channel referred to in the above description may be provided as an analog data channel or as a digital data channel. In the case of an analog data channel, information such as transmitted voltage, current or frequency etc. may be modulated onto a carrier signal. In the case of a digital data channel, the transmitted data represents an analog signal, some components of which may be a signal with a carrier frequency or span a particular frequency band which transmits the relevant information.

The skilled person will recognise that some aspects or features of the above-described examples may be embodied as processor control code, for example on a non-volatile carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read-only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. Some aspects or features may be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional program code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays. Similarly the code may comprise code for a hardware description language such as Verilog™ or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, the examples may also be implemented using code running on a field-(re)programmable analogue array or similar device in order to configure analogue hardware.

Note that as used herein the term unit, or module shall be used to refer to a functional unit or block which may be implemented at least partly by dedicated hardware components such as custom defined circuitry and/or at least partly be implemented by one or more software processors or appropriate code running on a suitable general purpose processor or the like. A unit may itself comprise other units, modules or functional units. A unit may be provided by multiple components or sub-units which need not be co-located and could be provided on different integrated circuits and/or running on different processors.

Examples may be implemented in a host device, especially a portable and/or battery powered host device such as a mobile computing device, for example, a laptop or tablet computer, a games console, a remote control device, a home automation controller or a domestic appliance including a smart home device, a domestic temperature or lighting control system, a toy, a machine such as a robot, an audio player, a video player, or a mobile telephone, for example, a smartphone.

Many electronic devices include acoustic output transducers, i.e. transducers for converting a suitable electrical driving signal into an acoustic output such as a sonic pressure wave or mechanical vibration. For instance many electronic devices may include one or more loudspeakers for sound generation, e.g. for playback of audio content and/or voice communications and/or providing audible notifications. Such loudspeakers may comprise an electromagnetic actuator, for example a voice coil motor which is mechanically coupled to a flexible diaphragm, for example a conventional loudspeaker cone, or which is mechanically coupled to a surface of a device, for example the glass screen of a cell phone. Some electronic devices may also include acoustic output transducers capable of generating ultrasonic waves, e.g. for proximity detection type applications and/or machine-to-machine communication. Many electronic devices may additionally or alternatively include more specialised acoustic output transducers, i.e. haptic transducers, tailored for generating vibrations, e.g. for haptic control feedback or notifications to a user. Additionally or alternatively an electronic device may have a connector, e.g. a socket, for making a removable mating connection with a corresponding connector of an accessory apparatus and may be arranged to provide a driving signal to the connector so as to drive a transducer, of one or more of the types mentioned above, of the accessory apparatus when connected. Such an electronic device will thus comprise driving circuitry for driving the transducer of the host device or connected accessory with a suitable driving signal. For acoustic transducers the driving signal will generally be an analogue time varying voltage signal, i.e. some time varying waveform.

It should be noted that the above-mentioned examples illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative examples without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single feature or other unit may fulfill the functions of several units recited in the claims. Any reference numerals or labels in the claims shall not be construed so as to limit their scope. 

The invention claimed is:
 1. A drive circuit comprising: an input configured to receive an input signal representing audio information and haptic information; an audio output amplifier comprising an audio recovery portion for recovering the audio information from the input signal, the audio output amplifier configured to generate an audio drive signal based on the audio information represented in the input signal and output the audio drive signal to an audio output transducer; and a haptic output amplifier comprising a haptic recovery portion for recovering the haptic information from the input signal, the haptic output amplifier configured to generate a haptic drive signal for driving a haptic output transducer based on the haptic information represented in the input signal and output the haptic drive signal to the haptic output transducer.
 2. The drive circuit as claimed in claim 1, wherein the haptic recovery portion is configured to derive the haptic information from a designated portion of the input signal.
 3. The drive circuit as claimed in claim 2, wherein the designated portion comprises at least one carrier frequency of the input signal.
 4. The drive circuit as claimed in claim 3 wherein the designated portion is spread across a plurality of different carrier frequencies of the input signal.
 5. The drive circuit as claimed in claim 4, wherein the haptic recovery portion is configured to perform a spread spectrum demodulation process to derive the haptic information.
 6. The drive circuit as claimed in claim 1, wherein the input signal is carried by a single channel, and wherein the channel may be an audio channel.
 7. The drive circuit as claimed in claim 1, further comprising a first filter configured to receive the input signal, to filter the audio information comprised in the input signal and to output a filtered signal to the haptic output amplifier.
 8. The drive circuit as claimed in claim 1, further comprising a second filter configured to receive the input signal, to filter the haptic information comprised in the input signal and to output a filtered signal to the audio output amplifier.
 9. The drive circuit as claimed in claim 1, wherein the haptic information represents one or more of a magnitude of a haptic signal to be output by the haptic output transducer and a direction of the haptic signal to be output by the haptic output transducer, and wherein the haptic information may define a pulse signal or waveform for driving the haptic output transducer.
 10. The drive circuit as claimed in claim 1, further comprising a transformation unit, wherein the transformation unit is configured to receive the haptic drive signal and to modify the haptic drive signal based on one or more characterisation parameters to generate a modified haptic drive signal, wherein the characterisation parameters represent data relating to one or more of: a mounting position of the haptic output transducer, one or more characteristics of the haptic output transducer and one or more characteristics of a host device.
 11. The drive circuit as claimed in claim 1, wherein the input signal is a first input signal and wherein the drive circuit is configured to receive the first input signal and a second input signal, the haptic information being carried on a portion of either or both of the first and second input signals.
 12. A system comprising the drive circuit as claimed in claim 1 and further comprising: at least said haptic output transducer, wherein the haptic amplifier is configured to output the haptic drive signal representing the haptic information contained in the input signal to at least said haptic output transducer.
 13. A system comprising the drive circuit as claimed in claim 1 and a signal processor configured to output a mixed signal via a single channel, the mixed signal comprising i) an audio signal to be output by said audio output transducer and ii) a haptic signal to be output by said haptic output transducer.
 14. The drive circuit as claimed in claim 1, wherein the haptic information defines a pulse signal or waveform for driving said haptic output transducer.
 15. The drive circuit as claimed in claim 1, further comprising a transformation unit, wherein the transformation unit is configured to receive the haptic drive signal representing the haptic information derived by the haptic amplifier and to modify the haptic drive signal based on one or more characterisation parameters in order to generate a modified haptic drive signal.
 16. The drive circuit as claimed in claim 1, comprising the haptic recovery portion for recovering the haptic information from a designated portion of the input signal, wherein the input signal is carried by a single channel and the designated portion: is spread across a plurality of different carrier frequencies of the channel; or comprises one or more carrier frequencies of the channel above 16 kHz.
 17. The drive circuit as claimed in claim 1, wherein: the haptic output amplifier is configured to monitor operation of the haptic output transducer by monitoring a voltage or current of the haptic output transducer, and to use said voltage or current of the haptic output transducer to determine any transducer-related latency and account for the transducer-related latency when deriving the haptic drive signal to dynamically tailor the haptic drive signal for the operation of the haptic output transducer; or the haptic output amplifier is configured to buffer a haptic waveform based on the haptic information, and the drive circuit is configured to cause haptic playback to commence based on the buffered haptic waveform when a corresponding audio sync marker is detected in the audio information. 